package com.epalmpay.service.yunstream;


import java.util.List;
import java.util.Map;

import com.epalmpay.bean.OilCardDenominationBean;
import com.epalmpay.dto.oilcard.OilcardInDTO;
import com.epalmpay.dto.oilcard.OilcardListOutDTO;
import com.epalmpay.dto.oilcard.OilcardMemberInDTO;
import com.epalmpay.dto.oilcard.OilcardMemberListOutDTO;
import com.epalmpay.dto.oilcard.OilcardOutDTO;
import com.epalmpay.dto.yunliu.oilcard.CancelOilChargeInDTO;
import com.epalmpay.entity.Page;
import com.epalmpay.entity.YsOilcard;
import com.epalmpay.util.Response;

/**
 * Created by wzq on 2017/7/2.
 */
public interface IOilCardService {
    //油卡列表
    public Map<String, Object> getOilCardList(String memberId) throws Exception;
    //增加油卡
	public int addOilCard(String memberId,String oilcardNumber,String oilcardOwen,String oilcardPhone,String oilcardType,Integer isDefault) throws Exception;

    //增加油卡
    public Response deleteOilCard(Long memberId,Long oilcardId,String groupCode) throws Exception;
    //更新油卡
    public Response updateOilCard(Long memberId,Long oilcardId,String oilcardNumber,String oilcardOwen,String oilcardPhone,String oilcardType,Integer isDefault,String groupCode) throws Exception;

    //油卡套餐列表
//    public Map<String, Object> getOilCardPackageList(String memberId,Integer isStartuse) throws Exception;
    
    //用户油卡列表
	public OilcardMemberListOutDTO getOilcardMemberList(OilcardMemberInDTO oilcardMemberInDTO, Page page) throws Exception;
	//油卡列表
	public OilcardListOutDTO getOilcardList(OilcardInDTO oilcardInDTO, Page page)throws Exception;
	
	
	public YsOilcard findOilcardStatus(Long id)throws Exception;
	//更新油卡状态
	public void updateStatus(YsOilcard ysOilcard)throws Exception;
	//删除油卡
	public OilcardOutDTO deleteOilcard(Long oilcardId)throws Exception;
	//保存油卡套餐
	public OilcardOutDTO saveOilcard(OilcardInDTO oilcardInDTO)throws Exception;
	//编辑时回显 根据id查找油卡信息
	public YsOilcard findOilcardById(YsOilcard oilcard) throws Exception;
	//新增时查询是否存在
	public OilcardOutDTO queryData(OilcardInDTO oilcardInDTO)throws Exception;
	//查询油卡的面额
	public List<OilCardDenominationBean> listOilcardDenomination(String oilcardType);
	
	public YsOilcard finishOidCardById(Long oilcardPackageId);
	/**
	 * 获取油卡套餐列表
	 * @param oilcardType
	 * @param businessCode
	 * @return
	 */
	public List<YsOilcard> listOilcard(String oilcardType, String businessCode);
	/**
	 * 油卡设置默认
	 * @param businessCode
	 * @param memberId
	 * @param id
	 * @param isdefault
	 * @return
	 */
	public int updateToDefault(String businessCode, Long memberId, Long id, Integer isdefault) throws Exception ;
	
	
}
